﻿using System;
namespace Producers.Rr.Xtee.Riik.Ee.Producer.Rr {
    
    
    public partial class RR50Response : global::Producers.Rr.Xtee.Riik.Ee.Producer.Rr.IRR50Response {
        
        private System.Collections.Generic.List<RR50Response.ISurnuType> @__surnu = new System.Collections.Generic.List<RR50Response.ISurnuType>();
        
        public RR50Response() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public RR50Response(System.Collections.Generic.List<RR50Response.ISurnuType> @surnu) {
            this.@__surnu = @surnu;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected RR50Response(IRR50Response @rR50Response) {
            this.@__surnu = @rR50Response.Surnu;
        }
        
        public virtual System.Collections.Generic.List<RR50Response.ISurnuType> Surnu {
            get {
                return this.@__surnu;
            }
            set {
                this.@__surnu = value;
            }
        }
        
        public partial class SurnuType : ISurnuType {
            
            private string @__surnuIsikukood;
            
            private string @__surnuPerenimi;
            
            private string @__surnuEesnimi;
            
            private string @__surnuSurmakuup;
            
            private string @__surnusdliik;
            
            private string @__surnusdnumber;
            
            private string @__surnusdkuup;
            
            private string @__surnusdasutus;
            
            private string @__surnukmadliik;
            
            private string @__surnukmadnumber;
            
            private string @__surnukmadkuup;
            
            private string @__surnukmadasutus;
            
            public SurnuType() {
            }
            
            /// <summary>
            /// All parameters
            /// </summary>
            public SurnuType(string @surnuIsikukood, string @surnuPerenimi, string @surnuEesnimi, string @surnuSurmakuup, string @surnusdliik, string @surnusdnumber, string @surnusdkuup, string @surnusdasutus, string @surnukmadliik, string @surnukmadnumber, string @surnukmadkuup, string @surnukmadasutus) {
                this.@__surnuIsikukood = @surnuIsikukood;
                this.@__surnuPerenimi = @surnuPerenimi;
                this.@__surnuEesnimi = @surnuEesnimi;
                this.@__surnuSurmakuup = @surnuSurmakuup;
                this.@__surnusdliik = @surnusdliik;
                this.@__surnusdnumber = @surnusdnumber;
                this.@__surnusdkuup = @surnusdkuup;
                this.@__surnusdasutus = @surnusdasutus;
                this.@__surnukmadliik = @surnukmadliik;
                this.@__surnukmadnumber = @surnukmadnumber;
                this.@__surnukmadkuup = @surnukmadkuup;
                this.@__surnukmadasutus = @surnukmadasutus;
            }
            
            /// <summary>
            /// Copy Constructor
            /// </summary>
            protected SurnuType(ISurnuType @surnuType) {
                this.@__surnuIsikukood = @surnuType.SurnuIsikukood;
                this.@__surnuPerenimi = @surnuType.SurnuPerenimi;
                this.@__surnuEesnimi = @surnuType.SurnuEesnimi;
                this.@__surnuSurmakuup = @surnuType.SurnuSurmakuup;
                this.@__surnusdliik = @surnuType.Surnusdliik;
                this.@__surnusdnumber = @surnuType.Surnusdnumber;
                this.@__surnusdkuup = @surnuType.Surnusdkuup;
                this.@__surnusdasutus = @surnuType.Surnusdasutus;
                this.@__surnukmadliik = @surnuType.Surnukmadliik;
                this.@__surnukmadnumber = @surnuType.Surnukmadnumber;
                this.@__surnukmadkuup = @surnuType.Surnukmadkuup;
                this.@__surnukmadasutus = @surnuType.Surnukmadasutus;
            }
            
            public virtual string SurnuIsikukood {
                get {
                    return this.@__surnuIsikukood;
                }
                set {
                    this.@__surnuIsikukood = value;
                }
            }
            
            public virtual string SurnuPerenimi {
                get {
                    return this.@__surnuPerenimi;
                }
                set {
                    this.@__surnuPerenimi = value;
                }
            }
            
            public virtual string SurnuEesnimi {
                get {
                    return this.@__surnuEesnimi;
                }
                set {
                    this.@__surnuEesnimi = value;
                }
            }
            
            public virtual string SurnuSurmakuup {
                get {
                    return this.@__surnuSurmakuup;
                }
                set {
                    this.@__surnuSurmakuup = value;
                }
            }
            
            public virtual string Surnusdliik {
                get {
                    return this.@__surnusdliik;
                }
                set {
                    this.@__surnusdliik = value;
                }
            }
            
            public virtual string Surnusdnumber {
                get {
                    return this.@__surnusdnumber;
                }
                set {
                    this.@__surnusdnumber = value;
                }
            }
            
            public virtual string Surnusdkuup {
                get {
                    return this.@__surnusdkuup;
                }
                set {
                    this.@__surnusdkuup = value;
                }
            }
            
            public virtual string Surnusdasutus {
                get {
                    return this.@__surnusdasutus;
                }
                set {
                    this.@__surnusdasutus = value;
                }
            }
            
            public virtual string Surnukmadliik {
                get {
                    return this.@__surnukmadliik;
                }
                set {
                    this.@__surnukmadliik = value;
                }
            }
            
            public virtual string Surnukmadnumber {
                get {
                    return this.@__surnukmadnumber;
                }
                set {
                    this.@__surnukmadnumber = value;
                }
            }
            
            public virtual string Surnukmadkuup {
                get {
                    return this.@__surnukmadkuup;
                }
                set {
                    this.@__surnukmadkuup = value;
                }
            }
            
            public virtual string Surnukmadasutus {
                get {
                    return this.@__surnukmadasutus;
                }
                set {
                    this.@__surnukmadasutus = value;
                }
            }
        }
        
        public interface ISurnuType {
            
            string SurnuIsikukood {
                get;
                set;
            }
            
            string SurnuPerenimi {
                get;
                set;
            }
            
            string SurnuEesnimi {
                get;
                set;
            }
            
            string SurnuSurmakuup {
                get;
                set;
            }
            
            string Surnusdliik {
                get;
                set;
            }
            
            string Surnusdnumber {
                get;
                set;
            }
            
            string Surnusdkuup {
                get;
                set;
            }
            
            string Surnusdasutus {
                get;
                set;
            }
            
            string Surnukmadliik {
                get;
                set;
            }
            
            string Surnukmadnumber {
                get;
                set;
            }
            
            string Surnukmadkuup {
                get;
                set;
            }
            
            string Surnukmadasutus {
                get;
                set;
            }
        }
    }
}
